Pos(T): Analyzing Dependencies in Typed Logic Programs
نویسندگان
چکیده
Dependencies play a major role in the analysis of program properties. The analysis of groundness dependencies for logic programs using the class of positive Boolean functions is a main applications area. The precision of such an analysis can be improved through the integration of either pattern information or type information. This paper develops an approach in which type information is exploited. Diierent from previous work, a separate simple analysis is performed for each subtype of the types. If the types are polymorphic, then dependencies for speciic type instances are derived from the analysis of the polymorphic typed program.
منابع مشابه
Type Inference and Checking for POS-typed Funtional Logic Programs
In this paper we investigate the type inference and checking for a polymorphic order-sorted typed functional logic language. This language consists of a speciication of types, a set of type declarations for data constructors and functions and a set of constructor-based conditional rewriting rules including data and type conditions as constraints in the rule applicability. We have interested in ...
متن کاملTWAM: A Certifying Abstract Machine for Logic Programs
Type-preserving (or typed) compilation uses typing derivations to certify correctness properties of compilation. We have designed and implemented a type-preserving compiler for a simply-typed dialect of Prolog we call T-Prolog. The crux of our approach is a new certifying abstract machine which we call the TypedWarren Abstract Machine (TWAM). The TWAMhas a dependent type system strong enough to...
متن کاملA Declarative Semantics for Typed Logic Programs
Many typed (sorted) logic programming languages are based on sorted logics in which there is typically a set of well-sortedness rules in addition to the ordinary well-formedness rules. An advantage of this approach is that type checking is typically decidable. However such an approach restricts the expressiveness of typed logic programming language. On the other hand, there is another approach ...
متن کاملCombining Proofs and Programs in a Dependently Typed Language ( With technical appendix )
Most dependently-typed p rogramming languages either require that all expressions terminate (e.g. Coq, Agda, and Epigram), or allow infinite loops but are inconsistent when viewed as logics (e.g. Haskell, ATS, Ωmega). Here, we combine these two approaches into a single dependently-typed core language. The language is composed of two fragments t hat share a common syntax and overlapping semantic...
متن کاملPolymorphic Type Analysis in Logic Programs by Abstract Interpretation1
domains and their associated abstract operators. Some examples are to be found in [6, 22, 24, 27, 28]. Most type analysis systems infer descriptive types. A descriptive type is a description of a set of terms by an expression in a type language. Different type analysis systems may use different type languages. Most of them use regular types or deterministic regular types [16] in one form or ano...
متن کامل